package org.test.demo.redisdemo;

import java.util.List;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class RedisSimpleDemo {
	@Test
	public void testDemo() throws InterruptedException {
		Jedis redis = new Jedis("127.0.0.1", 6379);// 连接redis
		redis.auth("1234");// 验证密码,如果需要验证的话
		// STRING 操作
		// SET key value将字符串值value关联到key。
		redis.set("name", "ironman");
		redis.set("pass", "123456");
		redis.set("address", "guangzhou");
		// SETEX key seconds value将值value关联到key，并将key的生存时间设为seconds(以秒为单位)。
		redis.setex("testex", 5, "5s");
		System.out.println("5s start:testex="+redis.get("testex"));
		Thread.sleep(5000);//间隔5s
		System.out.println("5s end:testex="+redis.get("testex"));
		
		// MSET key value [key value ...]同时设置一个或多个key-value对。
		redis.mset("a", "111", "b", "222","a", "333");
		System.out.println("a="+redis.get("a"));
		// redis.flushAll();清空所有的key
		System.out.println(redis.dbSize());// dbSize是多少个key的个数
		// APPEND key value如果key已经存在并且是一个字符串，APPEND命令将value追加到key原来的值之后。
		redis.append("a", "00");// 如果key已经存在并且是一个字符串，APPEND命令将value追加到key原来的值之后。
		// GET key 返回key所关联的字符串值
		System.out.println("a="+redis.get("a"));
		// MGET key [key ...] 返回所有(一个或多个)给定key的值
		List list = redis.mget("a", "b");
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
	}

}
